package com.molichuxing.gateway.bff.car.entity.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.CarsTypeEnum;
import com.molichuxing.services.property.MaintenanceStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 车辆保养表
 * </p>
 *
 * @author 
 * @since 2019-08-15
 */
@Data
public class MaintenanceBizVo extends ResponseRootDto {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    private Integer id;

    @ApiModelProperty(value = "保养id")
    private Integer maintenanceId;

    @ApiModelProperty(value = "车辆id")
    private Integer carId;

    @ApiModelProperty(value = "车架号")
    private String vin;

    @ApiModelProperty(value = "牌照号")
    private String licencePlate;

    @ApiModelProperty(value = "车型id")
    private Integer vehicleId;

    @ApiModelProperty(value = "车型名称")
    private String vehicleName;

    @ApiModelProperty(value = "车型图片")
    private String vehicleImg;

    @ApiModelProperty(value = "车辆类型（0：新车，1：二手车）")
    private Integer vehicleType;

    @ApiModelProperty(value = "车辆类型（0：新车，1：二手车）")
    private String vehicleTypeStr;

    @ApiModelProperty(value = "已行驶总里程")
    private Integer totalMileage;

    @ApiModelProperty(value = "应保养里程")
    private BigDecimal maintainableMileage;

    @ApiModelProperty(value = "实际保养里程")
    private BigDecimal actualMaintainMileage;

    @ApiModelProperty(value = "应保养日期")
    private LocalDate maintainableDate;

    @ApiModelProperty(value = "实际保养日期")
    private LocalDate actualMaintainDate;

    @ApiModelProperty(value = "状态（0：待审核，1：待保养，2：使用期，3：审核通过，4：审核驳回）")
    private Integer status;

    @ApiModelProperty(value = "状态（0：待审核，1：待保养，2：使用期，3：审核通过，4：审核驳回）")
    private String statusStr;

    @ApiModelProperty(value = "保养方")
    private String operationName;

    private String operationId;

    private Integer operationType;

    @ApiModelProperty(value = "采购日期")
    private LocalDate purchaseDate;

    @ApiModelProperty(value = "提交时间")
    private LocalDateTime submitDate;

    @ApiModelProperty(value = "审核时间")
    private LocalDateTime checkDate;

    @ApiModelProperty(value = "已保养次数")
    private Integer count;

    @ApiModelProperty(value = "车辆所在仓库")
    private Integer stockId;

    @ApiModelProperty(value = "车辆所在位置")
    private String stockName;

    @ApiModelProperty(value = "提交用户名称")
    private Integer submitMemberName;

    @ApiModelProperty(value = "车辆所在(1:中转库，2：经销商，3：用户)")
    private Integer stock;

    private Integer userId;

    private Integer userType;

    @ApiModelProperty(value = "经销商名称")
    private String dealerName;

    @ApiModelProperty(value = "经销商负责人")
    private String responsibleName;

    @ApiModelProperty(value = "经销商联系电话")
    private String responsiblePhone;

    @ApiModelProperty(value = "用户账号")
    private String userAccount;

    @ApiModelProperty(value = "用户姓名")
    private String realName;

    @ApiModelProperty(value = "用户联系电话")
    private String phone;

    @ApiModelProperty(value = "用户身份证号")
    private String idNumber;

    @ApiModelProperty(value = "保养类型 1：A类，2：B类")
    private String typeStr;
    
    @ApiModelProperty(value = "保养门店名称")
    private String storeName;
    
    @ApiModelProperty(value = "保养卡图片url")
    private String maintenanceUrl;

    @ApiModelProperty(value = "结算单图片url")
    private List<String> settlementUrl;
}
